#include <iostream>
#include <string>
#include <vector>
#include "../../Jugador.h"
#include "../../Mazo.h"
#include "../../Carta.h"
#include "../../JugadorReal.h"
#include "../Unit--/unit--.h"

using namespace std;

testSuite(MazoSuite);//crea suite.

testCase(Case1, MazoSuite){  // prueva si los jugadores reales y 
                             // normales se pueden apuntar de igual forma.
    Jugador* a = new Jugador();
    Jugador* b = new JugadorReal();
    a->setNombre("nombre");
    assertTrue("nombre" == a->getNombre());//prueva.
    b->setNombre("nombre");
    assertTrue("nombre" == b->getNombre());//prueva.
    
    vector<Jugador*> jugadores;
    for(int i=0; i<5 ;i++){
        jugadores.push_back(new Jugador());
        jugadores[i]->setNombre("jugador");
        }
    for(int i=0; i<5 ;i++){
        jugadores.push_back(new JugadorReal());
        jugadores[i+5]->setNombre("jugadorReal");
        }
    int jug = 0, jugReal = 0;
    for(int i=0; i<10 ;i++){
        if(jugadores[i]->getNombre() == "jugador"){
            jug++;
            }
        if(jugadores[i]->getNombre() == "jugadorReal"){
            jugReal++;
            }
        }
    assertTrue(5 == jugReal);
    assertTrue(5 == jug);
    for(int i=0; i<10 ;i++){
        delete jugadores[i];
        }
    delete a;
    delete b;
};

testCase(Case2, MazoSuite){  // prueva si los jugadores reales y 
                             // normales se pueden apuntar de igual forma.
    Jugador* a = new Jugador();
    Jugador* b = new JugadorReal();
    a->setNombre("nombre");
    assertTrue("nombre" == a->getNombre());//prueva.
    b->setNombre("nombre");
    assertTrue("nombre" == b->getNombre());//prueva.
    
    vector<Jugador*> jugadores;
    for(int i=0; i<5 ;i++){
        jugadores.push_back(new Jugador());
        jugadores[i]->setNombre("jugador");
        }
    for(int i=0; i<5 ;i++){
        jugadores.push_back(new JugadorReal());
        jugadores[i+5]->setNombre("jugadorReal");
        }
    int jug = 0, jugReal = 0;
    for(int i=0; i<10 ;i++){
        if(jugadores[i]->getNombre() == "jugador"){
            jug++;
            }
        if(jugadores[i]->getNombre() == "jugadorReal"){
            jugReal++;
            }
        }
    assertTrue(5 == jugReal);
    assertTrue(5 == jug);
    for(int i=0; i<10 ;i++){
        delete jugadores[i];
        }
    delete a;
    delete b;
};
